#pragma once
#include "TCharSupport.h"
#include "EpilLexLocation.h"
#include "EpilException.h"


class EpilScannerException : public EpilException
{
public:
	EpilScannerException( const tstring & message, const EpilLexLocation & location )
		: m_message( message )
		, m_location( location )
	{
	}

	virtual tstring GetMessage() const
	{
		return m_message;
	}
	
	virtual tstring GetCompleteMessage() const
	{
		tstring msg = t("EpilScannerException: ") + m_location.ToString() + t(": ") + m_message;
		return msg;
	}

private:
	tstring								m_message;
	EpilLexLocation						m_location;
};